Odoo 12 Development Essentials
上QQ阅读APP看书,第一时间看更新

Initializing a new Odoo database

To create and initialize an Odoo database with the Odoo data schema, we should run the Odoo server using the -d option:

$ ~/odoo-dev/odoo/odoo-bin -d testdb

This may take a minute to initialize the testdb database, and it will end with an INFO log message, Modules loaded. Note that it might not be the last log message, and it can be in the last three or four lines. With this, the server will be ready to listen to client requests.

Changed in Odoo 9
Since Odoo 9, the database is automatically created if it doesn't exist yet. In version 8, this was not so, and you needed to create the database manually, using the PostgreSQL  createdb command.

By default, this will initialize the database with demonstration data, which is often useful for development databases. This is the equivalent to having the Load demonstration data checkbox ticked when creating a new database from the user interface.

To initialize a database without demonstration data, add the --without-demo=all option to the command.

At the time of writing, an issue with PostgreSQL specific to the Ubuntu WSL environment prevented the clean creation of new databases. The workaround for this is to manually create an empty database with the createdb 12-library  command. This will show repeated messages saying  WARNING: could not flush dirty data: Function not implemented. Despite the warning messages, the new database was correctly created. Press Ctrl + C to interrupt the warnings, and now you will be able to run the command to start Odoo and initialize the new database.

To be able to create a new database, your user must be a PostgreSQL superuser. The PostgreSQL setup script used in the Installing Odoo from source section takes care of that.

For a development environment, it is fine for the user running the Odoo instance to be a database superuser. However, for a production environment, Odoo security best practices recommend to never run a production instance with a database user that is a superuser.

Now that we have a running Odoo instance, we can access it by opening the http://<server-name>:8069 URL with a web browser. This should present us with the Odoo login screen. If you don't know your server name, type the hostname command in the terminal in order to find it or use the ifconfig command to find the IP address.

The default administrator account is admin, with its password as admin. Upon logging in, you are presented with the Apps menu, displaying the available applications.

To stop the Odoo server instance and return to the command line, press Ctrl + C at the Terminal window running the server. Pressing the up arrow key will bring up the previous shell command, so it's a quick way to start Odoo again with the same options. The Ctrl + C keys followed by the up arrow key and Enter is a frequently used combination to restart the Odoo server during development.