Question: I'm practicing methods, but the problem is I want to separate inputting and sorting, the display method will be the main, I'm having trouble fixing this calling from other class.

This is my script :

```
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CaseProblem
{
    class Method
    {
        static void MethodInput()
        {
            int[] array = new int[5];
            int i;
            // loop for accepting values in array
            for (i = 0; i < 5; i++)
            {
                Console.Write("Enter number:\t");
                array[i] = int.Parse(Console.ReadLine());
            }
        }
        public static void MethodSort()
        {
            foreach (int i in array)
            {
                Console.Write(" {0}", i);
            }
        }
    }
    class Program
    {
        static void Main(int[]array)
        {
            //sorting array value;
            Array.Sort(array); //use array's sort function

            Method.MethodSort(array);
            Console.ReadLine();
        }
    }
}

```

Thank you for your help

Answer: 
First, create a backup of your database. Copy it to your development machine. Try things out on that. That way it doesn't matter if it does go "boom" for some reason.

The first thing to do is

```
python manage.py showmigrations

```

This shows all the existing migrations, and it *should* show that they have been applied with an `[X]`.

Then,

```
python manage.py makemigrations

```

Makes a new migration file for your new model (name 00004\_...).

Then do

```
python manage.py migrate

```

to apply it. To undo it, go back to the state of migrations 00003, with

```
python manage.py migrate <yourappname> 00003

```
There are two steps to migrations in Django. 

```
./manage.py makemigrations

```

will create the migration files that you see - these describe the changes that should be made to the database. 

You also need to run 

```
./manage.py migrate 

```

this will apply the migrations and actually run the alter table commands in SQL to change the actual database structure. 

Generally adding fields or tables won't affect anything else in the database. Be more careful when altering or deleting existing fields as that can affect your data.

The reason for two steps is so that you can make changes on a dev machine and once happy commit the migration files and release to your production environment. Then you run the migrate command on your production machine to bring the production database to the same state as your dev machine (no need for makemigrations on production assuming that your databases started the same).