Use mariadb for dev and prod
This commit is contained in:
		
							parent
							
								
									cb90ba1eb3
								
							
						
					
					
						commit
						f7126dba43
					
				
					 13 changed files with 19 additions and 317 deletions
				
			
		
							
								
								
									
										4
									
								
								.env
									
										
									
									
									
								
							
							
						
						
									
										4
									
								
								.env
									
										
									
									
									
								
							|  | @ -23,8 +23,8 @@ APP_SECRET=8a390490e448f181dd8d3e6bd38efe6a | |||
| # IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml | ||||
| # | ||||
| # DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db" | ||||
| # DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name?serverVersion=5.7" | ||||
| DATABASE_URL="postgresql://postgres:develop@localhost:5432/plantex?serverVersion=13&charset=utf8" | ||||
| DATABASE_URL="mysql://pflaenzli:develop@127.0.0.1:3306/pflaenzli?serverVersion=mariadb-10.5.13" | ||||
| # DATABASE_URL="postgresql://postgres:develop@localhost:5432/pflaenzli?serverVersion=13&charset=utf8" | ||||
| ###< doctrine/doctrine-bundle ### | ||||
| 
 | ||||
| ###> symfony/mailer ### | ||||
|  |  | |||
|  | @ -36,14 +36,13 @@ cd plant-exchange | |||
| ``` | ||||
| docker-compose up -d | ||||
| ``` | ||||
| To create the database (or use pgadmin): | ||||
| To create the database | ||||
| ``` | ||||
| docker exec -it plant-exchange_db_1 psql -U postgres -c 'CREATE DATABASE plantex;' | ||||
|  bin/console doctrine:schema:create | ||||
|  ``` | ||||
| 
 | ||||
| and migrate | ||||
| ``` | ||||
| symfony console doctrine:migrations:migrate -n  | ||||
| bin/console doctrine:migrations:migrate -n  | ||||
| ``` | ||||
| 
 | ||||
| ### 4. Install dependencies | ||||
|  | @ -63,10 +62,7 @@ symfony serve --port 8080 --no-tls -d | |||
| You sholud be able to access the site under [localhost:8080](http://localhost:8080) | ||||
| 
 | ||||
| ### 6. Create a user | ||||
| Go to the database and add a user manually. For the password use this to generate the appropriate hash: | ||||
| ``` | ||||
| symfony console security:encode-password | ||||
| ``` | ||||
| Register your own account and set the `role` in the databse to `["ROLE"ADMIN"]` | ||||
| 
 | ||||
| ### 7. Watch files | ||||
| If you are editing `.scss` or other webpack files, you'll want to run | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ A platform where people can exchange plants. They can post what they have and se | |||
| 
 | ||||
| ## Tech stack | ||||
| - [Symfony](https://symfony.com/) | ||||
| - [PostgreSQL](https://www.postgresql.org/), maybe should be using MySQL for easier deployment? | ||||
| - [MariaDB](https://www.mariadb.org) | ||||
| 
 | ||||
| Deployment: TBD | ||||
| 
 | ||||
|  |  | |||
|  | @ -2,29 +2,20 @@ version: '3' | |||
| 
 | ||||
| services: | ||||
|   db: | ||||
|     image: postgres:13 | ||||
|     image: mariadb:10.5 | ||||
|     environment: | ||||
|       POSTGRES_PASSWORD: develop | ||||
|       MARIADB_USER: pflaenzli | ||||
|       MARIADB_PASSWORD: develop | ||||
|       MARIADB_DATABASE: pflaenzli | ||||
|       MARIADB_ROOT_PASSWORD: r00tpa55w0rd | ||||
|     ports: | ||||
|       - 5432:5432 | ||||
|       - 3306:3306 | ||||
|     volumes: | ||||
|       - postgres-data:/var/lib/postgresql/data | ||||
|    | ||||
|   pgadmin: | ||||
|     image: dpage/pgadmin4 | ||||
|     environment: | ||||
|       PGADMIN_DEFAULT_EMAIL: admin@admin.com | ||||
|       PGADMIN_DEFAULT_PASSWORD: root | ||||
|     ports: | ||||
|       - "8001:80" | ||||
|     volumes: | ||||
|       - ./pgadmin_data/servers.json:/pgadmin4/servers.json | ||||
|       - pgadmin-data:/varl/lib/pgadmin | ||||
|       - mariadb-data:/var/lib/mysql | ||||
| 
 | ||||
|   mailer: | ||||
|     image: schickling/mailcatcher | ||||
|     ports: [1025,1080] | ||||
| 
 | ||||
| volumes: | ||||
|   postgres-data: | ||||
|   pgadmin-data: | ||||
|   mariadb-data: | ||||
|  |  | |||
|  | @ -1,35 +0,0 @@ | |||
| <?php | ||||
| 
 | ||||
| declare(strict_types=1); | ||||
| 
 | ||||
| namespace DoctrineMigrations; | ||||
| 
 | ||||
| use Doctrine\DBAL\Schema\Schema; | ||||
| use Doctrine\Migrations\AbstractMigration; | ||||
| 
 | ||||
| /** | ||||
|  * Auto-generated Migration: Please modify to your needs! | ||||
|  */ | ||||
| final class Version20210422125046 extends AbstractMigration | ||||
| { | ||||
|     public function getDescription() : string | ||||
|     { | ||||
|         return ''; | ||||
|     } | ||||
| 
 | ||||
|     public function up(Schema $schema) : void | ||||
|     { | ||||
|         // this up() migration is auto-generated, please modify it to your needs
 | ||||
|         $this->addSql('CREATE SEQUENCE "user_id_seq" INCREMENT BY 1 MINVALUE 1 START 1'); | ||||
|         $this->addSql('CREATE TABLE "user" (id INT NOT NULL, email VARCHAR(180) NOT NULL, roles JSON NOT NULL, password VARCHAR(255) NOT NULL, PRIMARY KEY(id))'); | ||||
|         $this->addSql('CREATE UNIQUE INDEX UNIQ_8D93D649E7927C74 ON "user" (email)'); | ||||
|     } | ||||
| 
 | ||||
|     public function down(Schema $schema) : void | ||||
|     { | ||||
|         // this down() migration is auto-generated, please modify it to your needs
 | ||||
|         $this->addSql('CREATE SCHEMA public'); | ||||
|         $this->addSql('DROP SEQUENCE "user_id_seq" CASCADE'); | ||||
|         $this->addSql('DROP TABLE "user"'); | ||||
|     } | ||||
| } | ||||
|  | @ -1,32 +0,0 @@ | |||
| <?php | ||||
| 
 | ||||
| declare(strict_types=1); | ||||
| 
 | ||||
| namespace DoctrineMigrations; | ||||
| 
 | ||||
| use Doctrine\DBAL\Schema\Schema; | ||||
| use Doctrine\Migrations\AbstractMigration; | ||||
| 
 | ||||
| /** | ||||
|  * Auto-generated Migration: Please modify to your needs! | ||||
|  */ | ||||
| final class Version20210422132314 extends AbstractMigration | ||||
| { | ||||
|     public function getDescription() : string | ||||
|     { | ||||
|         return ''; | ||||
|     } | ||||
| 
 | ||||
|     public function up(Schema $schema) : void | ||||
|     { | ||||
|         // this up() migration is auto-generated, please modify it to your needs
 | ||||
|         $this->addSql('ALTER TABLE "user" ADD is_verified BOOLEAN NOT NULL DEFAULT TRUE'); | ||||
|     } | ||||
| 
 | ||||
|     public function down(Schema $schema) : void | ||||
|     { | ||||
|         // this down() migration is auto-generated, please modify it to your needs
 | ||||
|         $this->addSql('CREATE SCHEMA public'); | ||||
|         $this->addSql('ALTER TABLE "user" DROP is_verified'); | ||||
|     } | ||||
| } | ||||
|  | @ -1,34 +0,0 @@ | |||
| <?php | ||||
| 
 | ||||
| declare(strict_types=1); | ||||
| 
 | ||||
| namespace DoctrineMigrations; | ||||
| 
 | ||||
| use Doctrine\DBAL\Schema\Schema; | ||||
| use Doctrine\Migrations\AbstractMigration; | ||||
| 
 | ||||
| /** | ||||
|  * Auto-generated Migration: Please modify to your needs! | ||||
|  */ | ||||
| final class Version20210422155430 extends AbstractMigration | ||||
| { | ||||
|     public function getDescription() : string | ||||
|     { | ||||
|         return ''; | ||||
|     } | ||||
| 
 | ||||
|     public function up(Schema $schema) : void | ||||
|     { | ||||
|         // this up() migration is auto-generated, please modify it to your needs
 | ||||
|         $this->addSql('ALTER TABLE "user" ADD username VARCHAR(255) NOT NULL DEFAULT \'\''); | ||||
|         $this->addSql('ALTER TABLE "user" ALTER is_verified DROP DEFAULT'); | ||||
|     } | ||||
| 
 | ||||
|     public function down(Schema $schema) : void | ||||
|     { | ||||
|         // this down() migration is auto-generated, please modify it to your needs
 | ||||
|         $this->addSql('CREATE SCHEMA public'); | ||||
|         $this->addSql('ALTER TABLE "user" DROP username'); | ||||
|         $this->addSql('ALTER TABLE "user" ALTER is_verified SET DEFAULT \'true\''); | ||||
|     } | ||||
| } | ||||
|  | @ -1,38 +0,0 @@ | |||
| <?php | ||||
| 
 | ||||
| declare(strict_types=1); | ||||
| 
 | ||||
| namespace DoctrineMigrations; | ||||
| 
 | ||||
| use Doctrine\DBAL\Schema\Schema; | ||||
| use Doctrine\Migrations\AbstractMigration; | ||||
| 
 | ||||
| /** | ||||
|  * Auto-generated Migration: Please modify to your needs! | ||||
|  */ | ||||
| final class Version20210424153343 extends AbstractMigration | ||||
| { | ||||
|     public function getDescription() : string | ||||
|     { | ||||
|         return ''; | ||||
|     } | ||||
| 
 | ||||
|     public function up(Schema $schema) : void | ||||
|     { | ||||
|         // this up() migration is auto-generated, please modify it to your needs
 | ||||
|         $this->addSql('CREATE SEQUENCE offering_id_seq INCREMENT BY 1 MINVALUE 1 START 1'); | ||||
|         $this->addSql('CREATE TABLE offering (id INT NOT NULL, by_user_id INT NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, title VARCHAR(255) NOT NULL, photo_filename VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id))'); | ||||
|         $this->addSql('CREATE INDEX IDX_A5682AB1DC9C2434 ON offering (by_user_id)'); | ||||
|         $this->addSql('ALTER TABLE offering ADD CONSTRAINT FK_A5682AB1DC9C2434 FOREIGN KEY (by_user_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); | ||||
|         $this->addSql('ALTER TABLE "user" ALTER username DROP DEFAULT'); | ||||
|     } | ||||
| 
 | ||||
|     public function down(Schema $schema) : void | ||||
|     { | ||||
|         // this down() migration is auto-generated, please modify it to your needs
 | ||||
|         $this->addSql('CREATE SCHEMA public'); | ||||
|         $this->addSql('DROP SEQUENCE offering_id_seq CASCADE'); | ||||
|         $this->addSql('DROP TABLE offering'); | ||||
|         $this->addSql('ALTER TABLE "user" ALTER username SET DEFAULT \'\''); | ||||
|     } | ||||
| } | ||||
|  | @ -1,34 +0,0 @@ | |||
| <?php | ||||
| 
 | ||||
| declare(strict_types=1); | ||||
| 
 | ||||
| namespace DoctrineMigrations; | ||||
| 
 | ||||
| use Doctrine\DBAL\Schema\Schema; | ||||
| use Doctrine\Migrations\AbstractMigration; | ||||
| 
 | ||||
| /** | ||||
|  * Auto-generated Migration: Please modify to your needs! | ||||
|  */ | ||||
| final class Version20210426205302 extends AbstractMigration | ||||
| { | ||||
|     public function getDescription() : string | ||||
|     { | ||||
|         return ''; | ||||
|     } | ||||
| 
 | ||||
|     public function up(Schema $schema) : void | ||||
|     { | ||||
|         // this up() migration is auto-generated, please modify it to your needs
 | ||||
|         $this->addSql('ALTER TABLE offering ADD zip_code INT NOT NULL DEFAULT 0'); | ||||
|         $this->addSql('ALTER TABLE offering ADD description TEXT NOT NULL DEFAULT \'Lorem ipsum dolor\''); | ||||
|     } | ||||
| 
 | ||||
|     public function down(Schema $schema) : void | ||||
|     { | ||||
|         // this down() migration is auto-generated, please modify it to your needs
 | ||||
|         $this->addSql('CREATE SCHEMA public'); | ||||
|         $this->addSql('ALTER TABLE offering DROP zip_code'); | ||||
|         $this->addSql('ALTER TABLE offering DROP description'); | ||||
|     } | ||||
| } | ||||
|  | @ -1,42 +0,0 @@ | |||
| <?php | ||||
| 
 | ||||
| declare(strict_types=1); | ||||
| 
 | ||||
| namespace DoctrineMigrations; | ||||
| 
 | ||||
| use Doctrine\DBAL\Schema\Schema; | ||||
| use Doctrine\Migrations\AbstractMigration; | ||||
| 
 | ||||
| /** | ||||
|  * Auto-generated Migration: Please modify to your needs! | ||||
|  */ | ||||
| final class Version20210502123444 extends AbstractMigration | ||||
| { | ||||
|     public function getDescription() : string | ||||
|     { | ||||
|         return ''; | ||||
|     } | ||||
| 
 | ||||
|     public function up(Schema $schema) : void | ||||
|     { | ||||
|         // this up() migration is auto-generated, please modify it to your needs
 | ||||
|         $this->addSql('CREATE SEQUENCE reset_password_request_id_seq INCREMENT BY 1 MINVALUE 1 START 1'); | ||||
|         $this->addSql('CREATE TABLE reset_password_request (id INT NOT NULL, user_id INT NOT NULL, selector VARCHAR(20) NOT NULL, hashed_token VARCHAR(100) NOT NULL, requested_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, expires_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, PRIMARY KEY(id))'); | ||||
|         $this->addSql('CREATE INDEX IDX_7CE748AA76ED395 ON reset_password_request (user_id)'); | ||||
|         $this->addSql('COMMENT ON COLUMN reset_password_request.requested_at IS \'(DC2Type:datetime_immutable)\''); | ||||
|         $this->addSql('COMMENT ON COLUMN reset_password_request.expires_at IS \'(DC2Type:datetime_immutable)\''); | ||||
|         $this->addSql('ALTER TABLE reset_password_request ADD CONSTRAINT FK_7CE748AA76ED395 FOREIGN KEY (user_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); | ||||
|         $this->addSql('ALTER TABLE offering ALTER zip_code DROP DEFAULT'); | ||||
|         $this->addSql('ALTER TABLE offering ALTER description DROP DEFAULT'); | ||||
|     } | ||||
| 
 | ||||
|     public function down(Schema $schema) : void | ||||
|     { | ||||
|         // this down() migration is auto-generated, please modify it to your needs
 | ||||
|         $this->addSql('CREATE SCHEMA public'); | ||||
|         $this->addSql('DROP SEQUENCE reset_password_request_id_seq CASCADE'); | ||||
|         $this->addSql('DROP TABLE reset_password_request'); | ||||
|         $this->addSql('ALTER TABLE offering ALTER zip_code SET DEFAULT 0'); | ||||
|         $this->addSql('ALTER TABLE offering ALTER description SET DEFAULT \'Lorem ipsum dolor\''); | ||||
|     } | ||||
| } | ||||
|  | @ -1,36 +0,0 @@ | |||
| <?php | ||||
| 
 | ||||
| declare(strict_types=1); | ||||
| 
 | ||||
| namespace DoctrineMigrations; | ||||
| 
 | ||||
| use Doctrine\DBAL\Schema\Schema; | ||||
| use Doctrine\Migrations\AbstractMigration; | ||||
| 
 | ||||
| /** | ||||
|  * Auto-generated Migration: Please modify to your needs! | ||||
|  */ | ||||
| final class Version20210503161858 extends AbstractMigration | ||||
| { | ||||
|     public function getDescription() : string | ||||
|     { | ||||
|         return ''; | ||||
|     } | ||||
| 
 | ||||
|     public function up(Schema $schema) : void | ||||
|     { | ||||
|         // this up() migration is auto-generated, please modify it to your needs
 | ||||
|         $this->addSql('CREATE SEQUENCE wish_id_seq INCREMENT BY 1 MINVALUE 1 START 1'); | ||||
|         $this->addSql('CREATE TABLE wish (id INT NOT NULL, by_user_id INT DEFAULT NULL, title VARCHAR(255) NOT NULL, PRIMARY KEY(id))'); | ||||
|         $this->addSql('CREATE INDEX IDX_D7D174C9DC9C2434 ON wish (by_user_id)'); | ||||
|         $this->addSql('ALTER TABLE wish ADD CONSTRAINT FK_D7D174C9DC9C2434 FOREIGN KEY (by_user_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE'); | ||||
|     } | ||||
| 
 | ||||
|     public function down(Schema $schema) : void | ||||
|     { | ||||
|         // this down() migration is auto-generated, please modify it to your needs
 | ||||
|         $this->addSql('CREATE SCHEMA public'); | ||||
|         $this->addSql('DROP SEQUENCE wish_id_seq CASCADE'); | ||||
|         $this->addSql('DROP TABLE wish'); | ||||
|     } | ||||
| } | ||||
|  | @ -1,34 +0,0 @@ | |||
| <?php | ||||
| 
 | ||||
| declare(strict_types=1); | ||||
| 
 | ||||
| namespace DoctrineMigrations; | ||||
| 
 | ||||
| use Doctrine\DBAL\Schema\Schema; | ||||
| use Doctrine\Migrations\AbstractMigration; | ||||
| 
 | ||||
| /** | ||||
|  * Auto-generated Migration: Please modify to your needs! | ||||
|  */ | ||||
| final class Version20210614104026 extends AbstractMigration | ||||
| { | ||||
|     public function getDescription(): string | ||||
|     { | ||||
|         return ''; | ||||
|     } | ||||
| 
 | ||||
|     public function up(Schema $schema): void | ||||
|     { | ||||
|         // this up() migration is auto-generated, please modify it to your needs
 | ||||
|         $this->addSql('ALTER TABLE offering ALTER description SET NOT NULL'); | ||||
|         $this->addSql('ALTER TABLE "user" ADD zip_code INT DEFAULT NULL'); | ||||
|     } | ||||
| 
 | ||||
|     public function down(Schema $schema): void | ||||
|     { | ||||
|         // this down() migration is auto-generated, please modify it to your needs
 | ||||
|         $this->addSql('CREATE SCHEMA public'); | ||||
|         $this->addSql('ALTER TABLE "user" DROP zip_code'); | ||||
|         $this->addSql('ALTER TABLE offering ALTER description DROP NOT NULL'); | ||||
|     } | ||||
| } | ||||
|  | @ -10,7 +10,7 @@ use Doctrine\Migrations\AbstractMigration; | |||
| /** | ||||
|  * Auto-generated Migration: Please modify to your needs! | ||||
|  */ | ||||
| final class Version20210519090349 extends AbstractMigration | ||||
| final class Version20220111213438 extends AbstractMigration | ||||
| { | ||||
|     public function getDescription(): string | ||||
|     { | ||||
|  | @ -20,12 +20,12 @@ final class Version20210519090349 extends AbstractMigration | |||
|     public function up(Schema $schema): void | ||||
|     { | ||||
|         // this up() migration is auto-generated, please modify it to your needs
 | ||||
|         $this->addSql('ALTER TABLE offering ALTER COLUMN description DROP NOT NULL'); | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
|     public function down(Schema $schema): void | ||||
|     { | ||||
|         // this down() migration is auto-generated, please modify it to your needs
 | ||||
|         $this->addSql('CREATE SCHEMA public'); | ||||
| 
 | ||||
|     } | ||||
| } | ||||
		Reference in a new issue