django-mongo db docker migration setup












0















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



























    0















    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

























      0












      0








      0








      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 '18 at 19:10









      soubhagyasoubhagya

      917




      917
























          1 Answer
          1






          active

          oldest

          votes


















          1














          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 '18 at 19:20













          • manage.py migrate: error: unrecognized arguments: manage.py runserver 0.0.0.0:8000

            – soubhagya
            Nov 19 '18 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 '18 at 20:01











          • Thanks.. Thats working

            – soubhagya
            Nov 20 '18 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',
          autoActivateHeartbeat: false,
          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









          1














          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 '18 at 19:20













          • manage.py migrate: error: unrecognized arguments: manage.py runserver 0.0.0.0:8000

            – soubhagya
            Nov 19 '18 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 '18 at 20:01











          • Thanks.. Thats working

            – soubhagya
            Nov 20 '18 at 13:33
















          1














          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 '18 at 19:20













          • manage.py migrate: error: unrecognized arguments: manage.py runserver 0.0.0.0:8000

            – soubhagya
            Nov 19 '18 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 '18 at 20:01











          • Thanks.. Thats working

            – soubhagya
            Nov 20 '18 at 13:33














          1












          1








          1







          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 '18 at 20:01

























          answered Nov 19 '18 at 19:17









          SiyuSiyu

          2,88811227




          2,88811227













          • this way i have tried and showing unknown command

            – soubhagya
            Nov 19 '18 at 19:20













          • manage.py migrate: error: unrecognized arguments: manage.py runserver 0.0.0.0:8000

            – soubhagya
            Nov 19 '18 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 '18 at 20:01











          • Thanks.. Thats working

            – soubhagya
            Nov 20 '18 at 13:33



















          • this way i have tried and showing unknown command

            – soubhagya
            Nov 19 '18 at 19:20













          • manage.py migrate: error: unrecognized arguments: manage.py runserver 0.0.0.0:8000

            – soubhagya
            Nov 19 '18 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 '18 at 20:01











          • Thanks.. Thats working

            – soubhagya
            Nov 20 '18 at 13:33

















          this way i have tried and showing unknown command

          – soubhagya
          Nov 19 '18 at 19:20







          this way i have tried and showing unknown command

          – soubhagya
          Nov 19 '18 at 19:20















          manage.py migrate: error: unrecognized arguments: manage.py runserver 0.0.0.0:8000

          – soubhagya
          Nov 19 '18 at 19:23





          manage.py migrate: error: unrecognized arguments: manage.py runserver 0.0.0.0:8000

          – soubhagya
          Nov 19 '18 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 '18 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 '18 at 20:01













          Thanks.. Thats working

          – soubhagya
          Nov 20 '18 at 13:33





          Thanks.. Thats working

          – soubhagya
          Nov 20 '18 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.




          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







          這個網誌中的熱門文章

          Xamarin.form Move up view when keyboard appear

          Post-Redirect-Get with Spring WebFlux and Thymeleaf

          Anylogic : not able to use stopDelay()