I am developing my own app in frappe. I plan on migrating my app to a live server soon, however there is a small issue. Whichever modules/ doctypes i create for my app, the folders and files are being created in the frappe directory as opposed to the app directory. Would this have any repercussions when I migrate my site to a live server? If so, how do I ensure that the folders/files for modules/doctypes are created in the app directory. Would copy-pasting the folders and files from the frappe directory to the app directory do the trick?
Module Folders/Directories being created in Frappe Folder as opposed to App Folder
Did you run
bench new-app <app-name> to create a new app or just started creating doctypes under frappe installation?
More on creating a new app: Frappe Apps
Of course I created a new app and a new site and installed the site to the app. I wouldn’t prompt copying the modules to the app folder if there was no app to begin with.
Double check the module they’re created under by going to the doctype:
The module itself should be under the correct app:
That is exactly the problem. My app is names ‘26TRB’. In module def, it only shows me frappe not my app
Is there a way to migrate my current/modified ‘frappe’ app to a new app?
Anyone with the same problem here’s a fix:
- Create a new app.
- Create the same modules.
- Create the doctypes with the same name as the doctypes you have created in the frappe app.
- Copy the .json file contents from the doctypes in frappe to the doctypes you created in your new app.
There’s no workaround for this, if you have a hefty amount of fields and doctypes and you dont want to repeat writing the database migrations and the code, you’ll have to copy paste from individual files. The key is the ‘Naming’ of doctypes and modules.
Could it be due to domain restrictions?
I had an issue with custom fields.
My work around was to write a identifier in the description field which I could filter for in the hooks.py.
But for doctypes it is actually working. Must be something wrong on your side…
Yes but writing an identifier would be rather tricky for people who are new to programming or frappe itself. An easy (yet tedious) workaround would be simple to create the doctypes for the new app and copy-pasting the doctype .json file contents.
Can you try with app name that does not begin with number?
I think most programming languages can’t begin a variable name with a number.