Skip to main content

Add database field - Adjust models for Django app

 


 

Frequently used standard built-in django tool. 

 

python manage.py makemigrations app_name


But we see that it can crash and use better than other commands to sync database with code faster

For example:

 Ignore for now, and let me handle existing rows with NULL myself..



python manage.py migrate cyclusemail


Error relation "django_content_type" already exist

 

comment the dependencies

vim cyclusemail/migrations/0004_auto_20200803_1142.py



dependencies = [

#('cyclusemail', '0003_cyclus_paused'),

]


python manage.py sqldiff cyclusemail



So if you've got some infinite frenzy of mistakes then?

Don't do the table creation



python manage.py squashmigrations cyclusemail 0001_initial

That didn't help.


Remove all files in migration folder and then try


python manage.py migrate cyclusemail



What is almost always works?

python manage.py sqldiff app_name  


Then you get output somthing like this:


ALTER TABLE "cyclusemail_cyclus"

        ADD COLUMN "client" varchar(256);

CREATE INDEX "cyclusemail_cyclus_client"

        ON "cyclusemail_cyclus" ("client");

CREATE INDEX "cyclusemail_cyclus_client_like"

        ON "cyclusemail_cyclus" ("client" varchar_pattern_ops);

ALTER TABLE "cyclusemail_cyclus"

        ALTER COLUMN "unsubscribe" SET NOT NULL;

ALTER TABLE "cyclusemail_cyclus"

        ALTER COLUMN "paused" SET NOT NULL;





If you need to create table / model


python manage.py sqlmigrate app_name 

 

Or in old version of django 1.5

 

python manage.py sql app_name  

 

And you will get plain sql statments.

0001_initial


BEGIN;

--

-- Create model Cyclus

--



CREATE TABLE "cyclusemail_cyclus" ("id" serial NOT NULL PRIMARY KEY, "email" varchar(256) NOT NULL UNIQUE, "unsubscribe" varchar(256) NOT NULL, "sent" boolean NOT NULL, "paused" boolean NOT NULL, "created" timestamp with time zone NOT NULL, "status" varchar(256) NULL, "client" varchar(256) NULL, "has_redirect" boolean NOT NULL, "job_id" integer NOT NULL, "keyword_id" integer NOT NULL);

--

 

 

With this command you can connect to database via default client and setting from django config.

 

python manage.py dbshell 

 

copy and paste  differences.

 

Comments

Popular posts from this blog

Tekstverwerking python Text processing python SpaCy, TensorFlow, NLTK, Allen-NLP, Stanford-NLP

 Dit post maakt gebruik van spaCy, een populaire Python-bibliotheek die de taalgegevens en algoritmen bevat die je nodig hebt om teksten in natuurlijke taal te verwerken. Zoals u in dit post zult leren, is spaCy gemakkelijk te gebruiken omdat het containerobjecten biedt die elementen van natuurlijke taalteksten vertegenwoordigen, zoals zinnen en woorden. Deze objecten hebben op hun beurt attributen die taalkenmerken vertegenwoordigen, zoals delen van spraak. Op het moment van schrijven bood spaCy voorgetrainde modellen aan voor Engels, Duits, Grieks, Spaans, Frans, Italiaans, Litouws, Noors Bokmål, Nederlands, Portugees en meerdere talen gecombineerd. Bovendien biedt spaCy ingebouwde visualizers die u programmatisch kunt aanroepen om een grafische weergave van de syntactische structuur van een zin of benoemde entiteiten in een document te genereren.   De spaCy-bibliotheek ondersteunt ook native geavanceerde NLP-functies die andere populaire NLP-bibliotheken voor Python niet hebben. Spa

Google Closure

   Closure Library De Closure-bibliotheek is een JavaScript-bibliotheek, vergelijkbaar met andere moderne producten zoals jQuery, Angular, Vue.js, Dojo en MooTools. De coderingsstijl en het gebruik van opmerkingen in de Closure-bibliotheek zijn op maat gemaakt voor Closure Compiler. In vergelijking met andere JavaScript-bibliotheken is het de belangrijkste onderscheidende factor van Closure Compiler. Een eenvoudig compressie-experiment ontdekte dat wanneer Closure Compiler wordt gebruikt in plaats van YUI Compressor, de Closure Lib-code met 85% kan worden verminderd, wat een enorme impact kan hebben op de codecompressiecapaciteit van de compiler.    De implementatie van de  closure bibliotheek richt zich ook op leesbaarheid en prestaties. Wees zuinig bij het maken van objecten, maar wees genereus bij het benoemen en opnemen van objecten. Het heeft ook een prachtig gebeurtenissysteem, ondersteuning voor klassen en overerving en verschillende UI-componenten, waaronder bijvoorbeeld een ri

Elasticsearch install and configuration on Ubuntu

If you plan to use elastic integrated with Django then it would be better to use an old version of Elastic or replace Haystack with Django-Elasticsearch-DSL (Not tested) See old version install at bottom of this post.  New version Elasticsearch ( attention no haystack at this time )  The Elasticsearch components are not available in Ubuntu’s default package repositories. They can, however, be installed with APT after adding Elastic’s package source list. curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation apt-get install gnupg curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)). OK echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list apt update apt