django-mongo db docker migration setup











up vote
0
down vote

favorite












version: "3"

services:
rango_api:
container_name: rango
build: ./
# command: python manage.py runserver 0.0.0.0:8000
command: python manage.py runserver 0.0.0.0:8000
working_dir: /usr/src/rango_api
environment:
REDIS_URI: redis://redis:6379
MONGO_URI: mongodb://rango:27017
ports:
- "8000:8000"
volumes:
- ./:/usr/src/rango_api
links:
- redis
- elasticsearch
- mongo


#redis
redis:
image: redis
environment:
- ALLOW_EMPTY_PASSWORD=yes
ports:
- "6379:6379"

elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.5.0
ports:
- "9200:9200"
- "9300:9300"

mongo:
image: mongo
ports:
- "27017:27017"


here is my docker-compose file for django with mongodb.
I am not able to understand where to write 'python manage.py migrate'. when i am writing before 'runserver' command it is not working.










share|improve this question


























    up vote
    0
    down vote

    favorite












    version: "3"

    services:
    rango_api:
    container_name: rango
    build: ./
    # command: python manage.py runserver 0.0.0.0:8000
    command: python manage.py runserver 0.0.0.0:8000
    working_dir: /usr/src/rango_api
    environment:
    REDIS_URI: redis://redis:6379
    MONGO_URI: mongodb://rango:27017
    ports:
    - "8000:8000"
    volumes:
    - ./:/usr/src/rango_api
    links:
    - redis
    - elasticsearch
    - mongo


    #redis
    redis:
    image: redis
    environment:
    - ALLOW_EMPTY_PASSWORD=yes
    ports:
    - "6379:6379"

    elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.5.0
    ports:
    - "9200:9200"
    - "9300:9300"

    mongo:
    image: mongo
    ports:
    - "27017:27017"


    here is my docker-compose file for django with mongodb.
    I am not able to understand where to write 'python manage.py migrate'. when i am writing before 'runserver' command it is not working.










    share|improve this question
























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      version: "3"

      services:
      rango_api:
      container_name: rango
      build: ./
      # command: python manage.py runserver 0.0.0.0:8000
      command: python manage.py runserver 0.0.0.0:8000
      working_dir: /usr/src/rango_api
      environment:
      REDIS_URI: redis://redis:6379
      MONGO_URI: mongodb://rango:27017
      ports:
      - "8000:8000"
      volumes:
      - ./:/usr/src/rango_api
      links:
      - redis
      - elasticsearch
      - mongo


      #redis
      redis:
      image: redis
      environment:
      - ALLOW_EMPTY_PASSWORD=yes
      ports:
      - "6379:6379"

      elasticsearch:
      image: docker.elastic.co/elasticsearch/elasticsearch:6.5.0
      ports:
      - "9200:9200"
      - "9300:9300"

      mongo:
      image: mongo
      ports:
      - "27017:27017"


      here is my docker-compose file for django with mongodb.
      I am not able to understand where to write 'python manage.py migrate'. when i am writing before 'runserver' command it is not working.










      share|improve this question













      version: "3"

      services:
      rango_api:
      container_name: rango
      build: ./
      # command: python manage.py runserver 0.0.0.0:8000
      command: python manage.py runserver 0.0.0.0:8000
      working_dir: /usr/src/rango_api
      environment:
      REDIS_URI: redis://redis:6379
      MONGO_URI: mongodb://rango:27017
      ports:
      - "8000:8000"
      volumes:
      - ./:/usr/src/rango_api
      links:
      - redis
      - elasticsearch
      - mongo


      #redis
      redis:
      image: redis
      environment:
      - ALLOW_EMPTY_PASSWORD=yes
      ports:
      - "6379:6379"

      elasticsearch:
      image: docker.elastic.co/elasticsearch/elasticsearch:6.5.0
      ports:
      - "9200:9200"
      - "9300:9300"

      mongo:
      image: mongo
      ports:
      - "27017:27017"


      here is my docker-compose file for django with mongodb.
      I am not able to understand where to write 'python manage.py migrate'. when i am writing before 'runserver' command it is not working.







      django mongodb docker






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 19 at 19:10









      soubhagya

      497




      497
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          1
          down vote



          accepted










          Normally you don't want to run migration every time you start a server, to valorize the concept of ephemeral container, a better solution looks like



          services:
          web:
          build: .
          image: your_project
          command: python manage.py runserver 0.0.0.0:8000
          ports:
          - "8000:8000"
          depends_on:
          - migration
          - db
          migration:
          image: your_project
          command: python manage.py migrate --noinput
          depends_on:
          - db


          Original answer



          Assuming you have already done python manage.py makemigrations,



          use "bash -c 'python manage.py migrate --no-input && python manage.py runserver 0.0.0.0:8000'"






          share|improve this answer























          • this way i have tried and showing unknown command
            – soubhagya
            Nov 19 at 19:20












          • manage.py migrate: error: unrecognized arguments: manage.py runserver 0.0.0.0:8000
            – soubhagya
            Nov 19 at 19:23






          • 1




            @soubhagya try "bash -c 'python manage.py migrate --no-input && python manage.py runserver 0.0.0.0:8000'" , see updated answer
            – Siyu
            Nov 19 at 20:01










          • Thanks.. Thats working
            – soubhagya
            Nov 20 at 13:33











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53381126%2fdjango-mongo-db-docker-migration-setup%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          1
          down vote



          accepted










          Normally you don't want to run migration every time you start a server, to valorize the concept of ephemeral container, a better solution looks like



          services:
          web:
          build: .
          image: your_project
          command: python manage.py runserver 0.0.0.0:8000
          ports:
          - "8000:8000"
          depends_on:
          - migration
          - db
          migration:
          image: your_project
          command: python manage.py migrate --noinput
          depends_on:
          - db


          Original answer



          Assuming you have already done python manage.py makemigrations,



          use "bash -c 'python manage.py migrate --no-input && python manage.py runserver 0.0.0.0:8000'"






          share|improve this answer























          • this way i have tried and showing unknown command
            – soubhagya
            Nov 19 at 19:20












          • manage.py migrate: error: unrecognized arguments: manage.py runserver 0.0.0.0:8000
            – soubhagya
            Nov 19 at 19:23






          • 1




            @soubhagya try "bash -c 'python manage.py migrate --no-input && python manage.py runserver 0.0.0.0:8000'" , see updated answer
            – Siyu
            Nov 19 at 20:01










          • Thanks.. Thats working
            – soubhagya
            Nov 20 at 13:33















          up vote
          1
          down vote



          accepted










          Normally you don't want to run migration every time you start a server, to valorize the concept of ephemeral container, a better solution looks like



          services:
          web:
          build: .
          image: your_project
          command: python manage.py runserver 0.0.0.0:8000
          ports:
          - "8000:8000"
          depends_on:
          - migration
          - db
          migration:
          image: your_project
          command: python manage.py migrate --noinput
          depends_on:
          - db


          Original answer



          Assuming you have already done python manage.py makemigrations,



          use "bash -c 'python manage.py migrate --no-input && python manage.py runserver 0.0.0.0:8000'"






          share|improve this answer























          • this way i have tried and showing unknown command
            – soubhagya
            Nov 19 at 19:20












          • manage.py migrate: error: unrecognized arguments: manage.py runserver 0.0.0.0:8000
            – soubhagya
            Nov 19 at 19:23






          • 1




            @soubhagya try "bash -c 'python manage.py migrate --no-input && python manage.py runserver 0.0.0.0:8000'" , see updated answer
            – Siyu
            Nov 19 at 20:01










          • Thanks.. Thats working
            – soubhagya
            Nov 20 at 13:33













          up vote
          1
          down vote



          accepted







          up vote
          1
          down vote



          accepted






          Normally you don't want to run migration every time you start a server, to valorize the concept of ephemeral container, a better solution looks like



          services:
          web:
          build: .
          image: your_project
          command: python manage.py runserver 0.0.0.0:8000
          ports:
          - "8000:8000"
          depends_on:
          - migration
          - db
          migration:
          image: your_project
          command: python manage.py migrate --noinput
          depends_on:
          - db


          Original answer



          Assuming you have already done python manage.py makemigrations,



          use "bash -c 'python manage.py migrate --no-input && python manage.py runserver 0.0.0.0:8000'"






          share|improve this answer














          Normally you don't want to run migration every time you start a server, to valorize the concept of ephemeral container, a better solution looks like



          services:
          web:
          build: .
          image: your_project
          command: python manage.py runserver 0.0.0.0:8000
          ports:
          - "8000:8000"
          depends_on:
          - migration
          - db
          migration:
          image: your_project
          command: python manage.py migrate --noinput
          depends_on:
          - db


          Original answer



          Assuming you have already done python manage.py makemigrations,



          use "bash -c 'python manage.py migrate --no-input && python manage.py runserver 0.0.0.0:8000'"







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 19 at 20:01

























          answered Nov 19 at 19:17









          Siyu

          1,7391620




          1,7391620












          • this way i have tried and showing unknown command
            – soubhagya
            Nov 19 at 19:20












          • manage.py migrate: error: unrecognized arguments: manage.py runserver 0.0.0.0:8000
            – soubhagya
            Nov 19 at 19:23






          • 1




            @soubhagya try "bash -c 'python manage.py migrate --no-input && python manage.py runserver 0.0.0.0:8000'" , see updated answer
            – Siyu
            Nov 19 at 20:01










          • Thanks.. Thats working
            – soubhagya
            Nov 20 at 13:33


















          • this way i have tried and showing unknown command
            – soubhagya
            Nov 19 at 19:20












          • manage.py migrate: error: unrecognized arguments: manage.py runserver 0.0.0.0:8000
            – soubhagya
            Nov 19 at 19:23






          • 1




            @soubhagya try "bash -c 'python manage.py migrate --no-input && python manage.py runserver 0.0.0.0:8000'" , see updated answer
            – Siyu
            Nov 19 at 20:01










          • Thanks.. Thats working
            – soubhagya
            Nov 20 at 13:33
















          this way i have tried and showing unknown command
          – soubhagya
          Nov 19 at 19:20






          this way i have tried and showing unknown command
          – soubhagya
          Nov 19 at 19:20














          manage.py migrate: error: unrecognized arguments: manage.py runserver 0.0.0.0:8000
          – soubhagya
          Nov 19 at 19:23




          manage.py migrate: error: unrecognized arguments: manage.py runserver 0.0.0.0:8000
          – soubhagya
          Nov 19 at 19:23




          1




          1




          @soubhagya try "bash -c 'python manage.py migrate --no-input && python manage.py runserver 0.0.0.0:8000'" , see updated answer
          – Siyu
          Nov 19 at 20:01




          @soubhagya try "bash -c 'python manage.py migrate --no-input && python manage.py runserver 0.0.0.0:8000'" , see updated answer
          – Siyu
          Nov 19 at 20:01












          Thanks.. Thats working
          – soubhagya
          Nov 20 at 13:33




          Thanks.. Thats working
          – soubhagya
          Nov 20 at 13:33


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53381126%2fdjango-mongo-db-docker-migration-setup%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          "Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

          Alcedinidae

          Origin of the phrase “under your belt”?